#include<stdio.h>
#define MAXSIZE 10

typedef struct{
	int length;
	int data[MAXSIZE];
}linelist;

int main()
{
	linelist line=LineList_init();
	bool loop=true;
	int locate;
	int va;
	while(loop)
	{
		printfMenu();
		printf("请输入选项：\n");
		char choice;
		scanf("%c",&choice);
		switch (choice)
		{
			case 'L':
				printf("该线性表的长度为%d",line.length);
				break;
			case 'P':
				printf("该线性表的为%s",(line.length==0)?"空":"不空");
				break;
			case 'I':
				printf("请输入插入的位置；\n");
				scanf("%d",&locate);
				printf("请输入插入的值；\n");
				scanf("%d",&va);
				if(LineList_insert(line,locate, va))
				{
					printf("第%d个位置处插入%d成功",locate,va);
				}
				else
				{
					printf("第%d个位置处插入%d失败",locate,va);
				}
				break;
			case 'D':
				printf("请输入需要删除值的位置；\n");
				scanf("%d",&locate);
				if(LineList_Delete(line, locate))
				{
					printf("删除成功");
				}
				else
				{
					printf("删除失败");
				}
				break;
			case 'S':
				LineList_Print(line);
				break;
			case 'E':
				printf("退出成功！");
				break;
		}
	}
	
}

//初始化
linelist LineList_init()
{
	linelist a;
	a.length=0;
	return a;
}

//插入(在第i个位置处插入)
bool LineList_insert(linelist a,int i,int value)
{
	int j;
	if(i<0 || i>MAXSIZE)
		return false;
	if(a.length>=MAXSIZE)
		return false;
	for(j=a.length;j>i-1;j--)
	{
		a.data[j]=a.data[j-1];
	}
	a.data[i];
	a.length++;
	return true;
}
//删除指定位置的值
bool LineList_Delete(linelist a,int index)
{
	if(index<1 || index>a.length)
		return false;
	int j;
	for(j=index;j<a.length;j++)
	{
		a.data[j-1]=a.data[j];
	}
	return true;
}
//求表的长度
int LineList_length(linelist a)
{
	return a.length;
}
//判断为空
bool isEmpty(linelist a)
{
	if(a.length<=0)
		return false;
	else
		return true;
}
//按值查找(返回值为-1则未查找到该值)
int LineList_locateElemt(linelist a,int valu)
{
	int i;
	for(i=0;i<a.length=1;i++)
	{
		if(a.data[i]==valu)
			return i;
	}
	return -1;
}
//按位查找（显示某个位置的值）
bool LineList_GetElemt(linelist a,int index)
{
	if(index<0 || index>a.length)
		return false;
	printf("已查找到第%d个值为%d",index,a.data[index]);
	return true;
}
//遍历线性表
void LineList_Print(linelist a)
{
	int i;
	for(i=0;i<a.length;i++)
	{
		printf("第%d个数值为%d\n");
	}
}

void printfMenu()
{
	printf("---菜单----\n");
	printf("L(求表长)\n");
	printf("J(判断空)\n");
	printf("I(插入值)\n");
	printf("D(删除值)\n");
	printf("S(遍历表)\n");
	priintf("按E退出系统\n")；
}
